package com.newlink.building.userinfo.mvp.contract

import com.newlink.building.common_base.base.IModel
import com.newlink.building.common_base.base.IPresenter
import com.newlink.building.common_base.base.IView
import com.newlink.building.common_base.model.bean.*
import io.reactivex.Observable


interface Module_UserInfo_AuthPasswordContract {

    interface Model : IModel {
        fun updateOpenDoorPassword(
            token: String,
            uId: String,
            password: String
        ): Observable<HttpResult<StatusData>>

        fun getCardList(data: LoadFaceListDataRequest): Observable<HttpResult<FaceListData>>
    }

    interface View : IView {
        fun onAuthConfirmResponse(result: Base_BaseBean?)
        fun getPasswordSuccess(pwdResult: AuthResponseBody?)
        fun getPasswordFailed(msg: String)
    }

    interface Presenter : IPresenter<View> {

        fun updateOpenDoorPassword(token: String, uId: String, password: String)
        fun loadCurrentPassword(token: String, uId: String)
    }
}